﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Clinica_Frba.NewFolder9
{
    public partial class ListadoEstadisticoForm : Form
    {
        public ListadoEstadisticoForm()
        {
            InitializeComponent();
            this.comboBox1.Items.AddRange(GetComboBoxElements());
        }

        private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
        {
            if (this.comboBox1.SelectedItem != null && this.comboBox2.SelectedItem != null)
            {
                enableListar();
            }
        }

        private void comboBox2_SelectedValueChanged(object sender, EventArgs e)
        {
            if (this.comboBox1.SelectedItem != null && this.comboBox2.SelectedItem != null)
            {
                enableListar();
            }
        }

        private void enableListar()
        {
            listarButton.Enabled = true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string comando = ((Clinica_Frba.Listados_Estadisticos.Query)this.comboBox1.SelectedItem).SqlQuery(Convert.ToInt16(this.comboBox2.SelectedItem), Convert.ToDateTime(yearPicker.Value).Year);
            System.Data.SqlClient.SqlConnection myConnection = new System.Data.SqlClient.SqlConnection(publico.ConnectionString);
            myConnection.Open();
            System.Data.SqlClient.SqlDataAdapter da = new System.Data.SqlClient.SqlDataAdapter(comando, myConnection);
            DataTable dt = new DataTable();
            da.Fill(dt);
            //dataGridView1.DataSource = dt;
            Clinica_Frba.Listados_Estadisticos.ResultForm resultForm = new Clinica_Frba.Listados_Estadisticos.ResultForm(dt);
            resultForm.ShowDialog(this);
        }

        private Clinica_Frba.Listados_Estadisticos.Query[] GetComboBoxElements()
        {
            Clinica_Frba.Listados_Estadisticos.Query[] queries = new Clinica_Frba.Listados_Estadisticos.Query[4];
            queries[0] = (new Clinica_Frba.Listados_Estadisticos.queries.EspecialidadesConMasCancelaciones());
            queries[1] = (new Clinica_Frba.Listados_Estadisticos.queries.BonosDeFarmaciaVencidosPorAfiliado());
            queries[2] = (new Clinica_Frba.Listados_Estadisticos.queries.EspecialidadesConMasBonosDeFarmaciaRecetados());
            queries[3] = (new Clinica_Frba.Listados_Estadisticos.queries.AfiliadosQueUtilizaronBonosQueNoCompraron());

            return queries;
        }
    }
}
